home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 18 Board & Card Games / HANGMA.BIN (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  3.4 KB  |  147 lines

  1. 5  REM ******************************
  2. 10 REM *         HANGMAN            *
  3. 15 REM *                            *
  4. 20 REM *     BY MATT HOFFMAN        *
  5. 23 REM *                            *
  6. 25 REM *        SEPT 1987           *
  7. 26 REM ******************************
  8. 27 REM
  9. 28 REM     ASSIGN VARIABLES
  10. 29 REM
  11. 30 DIM AL$(26):DIM W$(15)
  12. 35 SP$=""
  13. 36 R$=""
  14. 37 ALPH$="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  15. 40 PRINT"ô"
  16. 45 G=0:TRY=0:W=0:D$="":REPEAT$="":W$=""
  17. 46 REM
  18. 47 REM     ENTER WORD
  19. 48 REM
  20. 49 POKE53280,15:POKE53281,15:GOSUB5000
  21. 50 PRINT"ùENTER WORD(UP TO 15 LETTERS)":INPUT W$
  22. 60 L=LEN(W$)
  23. 70 IF L>15 THEN 40
  24. 100 PRINT"ô              óóóóóóóó"
  25. 110 PRINT"               ┤    ▀ "
  26. 120 PRINT"                      "
  27. 130 PRINT"                      "
  28. 140 PRINT"                      "
  29. 150 PRINT"                      "
  30. 160 PRINT"                      "
  31. 170 PRINT"                      "
  32. 175 PRINT"                      "
  33. 180 PRINT"                      "
  34. 185 PRINT"                      "
  35. 190 PRINT"                           "
  36. 195 PRINT"";
  37. 197 REM
  38. 198 REM     PRINT BLANKS
  39. 199 REM
  40. 200 FOR I=1TOL
  41. 201 L$=MID$(W$,I,1)
  42. 202 FOR M=1TO26
  43. 203 IF L$=MID$(AL$,M,1)THEN PRINT "» ";       
  44. 207 NEXT M
  45. 208 PRINT L$" ";:G=G+1
  46. 209 NEXT I
  47. 210 FOR C=1TO 26:POKE 1909+C,C:NEXT C
  48. 220 PRINT""LEFT$(R$,20);LEFT$(SP$,12);"LETTER?"
  49. 225 REM
  50. 226 REM     MAIN LOOP
  51. 227 REM
  52. 230 GET L$:IF L$=""THEN230
  53. 235 IF ASC(L$)<65ORASC(L$)>90THENHI=4:LO=1:GOSUB6000:GOTO230
  54. 240 GOSUB 500
  55. 245 IF D$="Y" THEN 40
  56. 250 GOTO 230
  57. 450 END
  58. 499 REM
  59. 500 REM     RIGHT LETTER?
  60. 501 REM
  61. 505 FLAG=0
  62. 510 FOR C=1TO26
  63. 520 IF L$=MID$(ALPH$,C,1)THEN GOTO 535: REM FIND # VAL OF LETTER
  64. 530 NEXT C
  65. 535 Q=1909+C:REM FIND POSITION OF LETTER
  66. 540 IF(PEEK(Q)AND128)=128 THEN HI=4:LO=10  :GOSUB 6000:RETURN
  67. 545 POKEQ,C+128:REM MARK LETTER W/ REV    
  68. 555 FOR I=1 TO L:IF L$=MID$(W$,I,1)THEN     POKE1712+(I*2),C:FLAG=1:G=G+1
  69. 560 NEXT I
  70. 563 IFFLAG=1THENHI=16:LO=195:GOSUB6000:FORTD=0TO15:NEXT:HI=25:LO=30 :GOSUB6000
  71. 565 IF FLAG=0 THEN GOSUB 1000
  72. 570 IF G=L THENPRINT"   CORRECT, YOU HAVE BEEN SPARED !!!":GOSUB3000:GOSUB700
  73. 580 IF W=6 THEN PRINT"   SORRY, YOU'RE DEAD !!!":PRINT LEFT$(R$,14):GOSUB 700
  74. 600 RETURN
  75. 699 REM
  76. 700 REM      TRY AGAIN ?
  77. 701 REM
  78. 705 G=1
  79. 706 IF FLAG=0 THEN PRINT TAB(10):FORI=1TOL:PRINTMID$(W$,I,1)CHR$(29);:NEXT:PRINT""
  80. 710 PRINT TAB(10)"WANT TO TRY AGAIN? Y/Næ"
  81. 711 FOR T=0 TO 200:NEXT T
  82. 720 PRINT TAB(10)"ÆWANT TO TRY AGAIN? Y/Næ"
  83. 722 FOR T=0 TO 200:NEXT T
  84. 724 G=-G
  85. 725 GET    
  86. 730 IF D$="Y" THEN RETURN
  87. 740 IF D$="N" THEN PRINT"ô":END
  88. 750 GOTO 720
  89. 990 REM
  90. 995 REM     WRONG CHOICES
  91. 997 REM
  92. 1000 W=W+1
  93. 1005 HI=5:LO=152:GOSUB 6000:FOR TD=0 TO 50:NEXT
  94. 1007 HI=4:LO=48:GOSUB 6000
  95. 1010 ON W GOTO 1020,1050,1080,1110,1200,     1230
  96. 1020 PRINT""
  97. 1025 PRINT"              ╒╔"
  98. 1030 PRINT"              ╩╦ "
  99. 1040 RETURN
  100. 1050 PRINT"              ╧╨ "
  101. 1060 PRINT"              ┤¬ "
  102. 1070 PRINT"              ╠║"
  103. 1075 RETURN
  104. 1080 PRINT"æææ             ╬╧╨ "
  105. 1090 PRINT"             Ñ┤¬  "
  106. 1100 PRINT"              ╠║"
  107. 1105 RETURN
  108. 1110 PRINT"æææ             ╬╧╨═"
  109. 1120 PRINT"             Ñ┤¬º "
  110. 1130 PRINT"                ╠║"
  111. 1140 RETURN
  112. 1200 PRINT"              ╟ "
  113. 1210 PRINT"              ╟ "
  114. 1220 RETURN
  115. 1230 PRINT"ææ              ╟┬"
  116. 1240 PRINT"              ╟┬"
  117. 2000 RETURN
  118. 3000 PRINT""
  119. 3005 PRINT"                  "
  120. 3006 PRINT"                  "
  121. 3010 PRINT"            ═ ╒╔ ╬"
  122. 3020 PRINT"             ═╩╦╬"
  123. 3030 PRINT"              ╧╨ "
  124. 3040 PRINT"              ┤¬ "
  125. 3050 PRINT"              ╠║"
  126. 3060 PRINT"              ╟╚"
  127. 3070 PRINT"              ╟╚"
  128. 3080 PRINT""
  129. 4000 RETURN
  130. 4999 REM
  131. 5000 REM    SET UP SID
  132. 5001 REM
  133. 5010 S=54272
  134. 5020 FOR I=0TO24:POKES+I,0:NEXT:REM CLEAR      REGISTERS
  135. 5030 POKES+24,15:REM MAX VOLUME
  136. 5040 POKES+5,    
  137. 5050 POKES+6,240:REM S/R
  138. 5090 RETURN
  139. 5999 REM
  140. 6000 REM    SOUNDS
  141. 6001 REM
  142. 6005 POKES+1,HI:POKES,LO:REM FREQ
  143. 6010 POKES+4,33:REM WAVE FORM
  144. 6020 FOR D=0TO250:NEXT
  145. 6030 POKES+4,16
  146. 6040 RETURN
  147.